#pragma once

#include <ClanLib/core.h>
#include <vector>
#include "../ConvexHullSimulation/ConvexHull.h"

class ConvexHullAlgorithm
{
public:
	ConvexHullAlgorithm(const std::vector<clan::Vec2d>& points);
	void Run(void);
	std::vector<clan::Line2d> GetConvexHullLines(void);
private:
	ConvexHull GetConvexHull(int startIndex, int endIndex) const;
	const std::vector<clan::Vec2d> m_points;//holds all points, for which the convex hull should be found
	std::vector<clan::Line2d> m_convexHullLines;
	ConvexHull m_convexHull;
};